home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls085.solintel.Z / tls085.solintel / lib / vtcl / tests / fonts.tcl < prev    next >
Encoding:
Text File  |  1995-07-20  |  1.8 KB  |  97 lines

  1. # CVS $Id: fonts.tcl,v 1.4 1995/04/28 11:40:44 zibi Exp $
  2. # This tests the use of multiple fonts 
  3. #
  4.  
  5. #
  6. # toggles the sensitivity of all buttons other that the one
  7. # being pressed. Also toggle the font to the weird font.
  8. #
  9. proc senCB {cbs} {
  10.      set current [keylget cbs widget]
  11.      set dlog [keylget cbs dialog]
  12.  
  13.      set formData [VtGetValues $dlog -userData]
  14.  
  15.      set rc [keylget formData rc]
  16.  
  17.      set keys [keylkeys formData]
  18.  
  19. #     VtHide $rc
  20.  
  21.      foreach key $keys {
  22.          set but [keylget formData $key]
  23.          if {$but == $rc} continue
  24.  
  25.          if {$but != $current} {
  26.               set lastSen [VtGetValues $but -sensitive]
  27.               set oldFont [VtGetValues $but -userData]
  28.               VtSetSensitive $but [expr !$lastSen]
  29.               if {$lastSen} {
  30.                   VtSetValues $but -font weirdFont
  31.               } else {
  32.                   VtSetValues $but -font $oldFont
  33.               }
  34.               
  35.          }
  36.     }
  37. #    VtShow $rc
  38. }
  39.  
  40. #
  41. # Fonts defined in WServer
  42. #
  43. set fonts {
  44.     smallNormalFont
  45.     smallBoldFont
  46.     smallItalicFont
  47.  
  48.     medNormalFont
  49.     medBoldFont
  50.     medItalicFont
  51.     
  52.     largeNormalFont
  53.     largeBoldFont
  54.     largeItalicFont
  55.     
  56.     monoNormalFont
  57.     monoBoldFont
  58.     monoItalicFont
  59.  
  60.     weirdFont
  61. }
  62.  
  63.  
  64. source tools.tcl
  65.  
  66. set ap [VtOpen Fonts]
  67.  
  68. set dlog [VtFormDialog $ap.form \
  69.                -okLabel Exit \
  70.                -okCallback QuitCB \
  71.                -cancelLabel "Kill Server" \
  72.                -cancelCallback QuitCB ]
  73.  
  74.  
  75. set rc [VtRowColumn $dlog.rc  -packing COLUMN -numColumns 2]
  76. keylset formData rc $rc
  77.  
  78. VtLabel $rc.butnothing  -label "Nothing set"
  79.  
  80. foreach f $fonts {
  81.     VtLabel $rc.$f -font $f
  82. }
  83.  
  84. VtPushButton $rc.nothing  -label "Nothing set"
  85.  
  86. foreach f $fonts {
  87.     set but [VtPushButton $rc.but$f -label $f -font $f \
  88.          -callback "senCB" -userData $f ]
  89.     keylset formData buf$f $but
  90. }
  91.  
  92. VtSetValues $dlog -userData $formData
  93.  
  94. VtShowDialog $dlog
  95.  
  96. VtMainLoop
  97.